﻿using System;
using System.Collections.Generic;
using System.Text;
using StockSharp.BusinessEntities;

namespace StockSharp.AlfaDirect
{

    /// <summary>
    /// Реализует базовую команду для создания ордеров. Лимитных, трейлинг итд. У всех общая часть это 1 параметр.
    /// </summary>
    internal class CreateOrderCommand : BaseCommand
    {
        protected readonly Order Order;

        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="context">Контекст в рамках которого функционирует конкретная команда.</param>
        /// <param name="order"> </param>
        public CreateOrderCommand(IAlfaWrapper context, Order order) : base(context)
        {
            if (Validate(order))
                Order = order;
            else
                throw new ArgumentException("Аргумент имеет неверный формат.", "order");
        }


        /// <summary>
        /// Проводит проверку валидности аргументов.
        /// </summary>
        /// <param name="order"> </param>
        /// <returns>true если параметры прошли проверку, или false</returns>
        protected virtual bool Validate(Order order)
        {
            return order != null ? true : false;
        }

        /// <summary>
        /// Производит операции команды.
        /// </summary>
        public override void Execute()
        {
            throw new NotImplementedException();
        }
    }


}
